package cfdt.common.jwt;

import cfdt.common.enums.AlgorithmEnum;

/**
 * Token工具类
 * 源码来自于CFCA无纸化，重构了JWT依赖源码，使用国密SM3进行哈希
 */
public class JwtUtil {

    /**
     * 产生SM3算法的Token
     * @param claimsData 数据
     * @param secret 密钥
     */
    public static String generateToken(JwtClaims claimsData, String secret) {
        return generateToken(AlgorithmEnum.SM3.getValue(), claimsData, secret);
    }

    /**
     *
     * @param alg 算法
     * @param claimsData  数据
     * @param secret 密钥
     */
    public static String generateToken(String alg, JwtClaims claimsData, String secret) {
        JwtToken token = new JwtToken(alg, claimsData, secret);
        return token.getToken();
    }

    /**
     * 解析token
     * @param tokenString token值
     * @param secret 密钥
     */
    public static JwtToken parseToken(String tokenString, String secret) {
        return new JwtToken(tokenString, secret);
    }

}
